Flutter Texture Layer Hybrid Composition
FrameLayout 代理 onDraw,替换掉 child 原生控件 Canvas。
Flutter 3 引入,最初目的是取代之前两代,最终无法取代,变为三代共存。
缺点
- 不支持 SurfaceView,需要有动态降级逻辑
- 因为 SurfaceView 是双缓冲机制
原生视图中不能包含 SurfaceView
不支持原生视图中包含 SurfaceView
案例:地图组件使用 SurfaceView,存在布局不正确且挡住 FlutterView 的问题。解决方法,有两个:
- 可将原生地图更换为 TextureView 的方式(TextureView 支持也不完备,并不总是能正常更新)
- 降级为使用 Hybrid composition 方案
相关 Issues
- Improve frame rate of TLHC based platform views · Issue #142153 · flutter/flutter
网络资源
本文作者:Maeiee
本文链接:Flutter Texture Layer Hybrid Composition
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!